import { SmileTwoTone } from '@ant-design/icons';
import { PageContainer } from '@ant-design/pro-components';
import { useIntl } from '@umijs/max';
import { Alert, Card, Image, Typography } from 'antd';
import React from 'react';

const Admin: React.FC = () => {
  const intl = useIntl();
  return (
    <PageContainer
      content={intl.formatMessage({
        id: 'pages.admin.subPage.title',
        defaultMessage: 'This page can only be viewed by admin',
      })}
    >
      <Card>
        <Alert
          message={intl.formatMessage({
            id: 'pages.welcome.alertMessage',
            defaultMessage: 'Faster and stronger heavy-duty components have been released.',
          })}
          type="success"
          showIcon
          banner
          style={{
            margin: -12,
            marginBottom: 48,
          }}
        />

        <Typography.Title level={2} style={{ textAlign: 'center' }}>
          <SmileTwoTone /> 可调速清管器设计参数介绍
        </Typography.Title>
        <Typography.Title level={3}>(1)理想清管器速度及其上下限</Typography.Title>
        <div>理想清管器速度及上下限确定了清管器速度控制的范围。</div>
        <Typography.Title level={3}>(2)转阀调整比例系数</Typography.Title>
        <div>
          转阀调整比例系数即式(3)中的P，为PID控制的比例系数。通过该参数的调节使得清管器速度能以最快的速度震荡收敛到理想速度。
        </div>
        <Typography.Title level={3}>(3)转阀调整间隔时间</Typography.Title>
        <div>
          转阀在调速的过程中是逐步调节的，在每个开度调整完之后，会有短暂的间隔后才会进行第二次动作。这段短暂的时间间隔可以保证清管器在流体的变化影响下，有足够的时间进行响应，获得新的运动状态。
        </div>
        <Typography.Title level={3}>(4)里程轮直径和齿数</Typography.Title>
        <div>
          所设计的里程轮主要通过高精度霍尔传感器检测与行走轮(如图6错误!未找到引用源。所示)同轴转动的计数齿轮转动所产生的脉冲来计算清管器运行距离和瞬时速度。霍尔传感器将其所测脉冲送入计数器，单片机定时读取计数器的值，并换算成清管器所对应的速度。举例说明，假设单片机定时器定时时间为t，在定时中断程序中读取计数器的数值，得到时钟脉冲数
          N。此时，如果行走轮的半径为r，每转动一圈所产生的脉冲数为 M，则可计算出清管器的速度为:
          <Typography.Title style={{ textAlign: 'center' }} level={5}>
            <div>v = 2πrN/Mt</div>
          </Typography.Title>
          如上式中所示，N为里程轮转一圈所获得的脉冲数，即计数齿轮的齿数，而，为里程轮的半径。清管器的速度的测量主要和这两个参数有关。对于不同的管道，所用里程轮的大小也会不同。因此，需要根据具体里程轮的尺寸结构确定这两个参数，从而方便单片机精确的计算清管器的速度。通过这两个参数的设置，可以使得整套可调速系统并不局限于一种尺寸下的应用。
          <div>
            <Image width={500} style={{ textAlign: 'center' }}  src="https://s21.ax1x.com/2024/04/14/pFvkXlQ.png"></Image>
          </div>
        </div>

        <Typography.Title level={3}>(5) 电瓶报警电压</Typography.Title>
        <div>
          可调速清管器数据采集系统、执行机构以及控制系统等部分都需要电源的支持。一旦电源电量不足，整套系统便会瘫痪，不再具有调速功能。因此，需要设置电瓶报警电压，在电池电量低到一定程度时，系统自动关闭，并将转阀关死，保证可调速清管器能够建立足够的压差，顺利的从管道中出来。电瓶报警电压根据所用电池容量和电路元器件的功耗决定。
        </div>

        <Typography.Title level={3}>(6)寻找零点速度</Typography.Title>
        <div>
        因为可调速系统主要采用直流电机控制转阀的开度，因此，电机动作过程中很有可能发生脉冲丢失现象。在长期运行之后，累计丢失的脉冲会造成里程计算上比较严重的误差，而零点的作用是保证转阀能够不断的获得和更新准确的位置信号。电机在管道中出现特殊状况，比如卡死等，会造成零点丢失。此时电机会快速的旋转寻找零点，而寻找零点速度便是用来定义转阀找零速度的。
        </div>

        <Typography.Title level={3}>(7)零点偏转角度</Typography.Title>
        <div>
        零点的设置因为机械结构或是装配原因会出现偏差，因此，可以通过零点偏转角度来校正转阀的位置，保证转阀初始和最终状态是两个极限状态(完全打开和完全关死)。
        </div>

        <Typography.Title level={3}>(8)电机过流</Typography.Title>
        <div>
        转阀在正常工作情况下会有一个稳定的电流、但是，如果遇到特殊情况，如转阀被污垢或者杂物卡死，则电机会过载运行产生大的驱动力去尝试克服转阀所受阻力。如果转阀阻力过大，电机的驱动电流也会因此很大。电机过流的设置主要就是设管电流上限值，防止电机在工作的过程中被烧坏。
        </div>

        <Typography.Title level={3}>(9)转阀卡死后正反向角度及卡死调整间隙</Typography.Title>
        <div>
        在设计可调速清管器时，为防止转阀在旋转的过程中被异物卡死，加入了转阀防卡死功能。当转阀需要旋转运动，而电机编码器却检测不到角度的变化时，控制系统即判断转阀发生了卡死现象。卡死现象一般发生在转阀关闭的时候，异物的阻碍使得转阀不能正常闭合。因此，设计的防卡死功能主要是通过控制系统左右震荡调节转阀，先让转阀打开一个角度，等待高速气流将异物吹走，然后再尝试关闭转阀，如此反复。当转阀在重复完多组动作之后，仍然无法清除异物，系统判断转阀失效。此时如果可调速清管器有备用阀门，则迅速将备用阀门由常开状态调整为常闭状态，配合降压输送等措施，保证可调速清管器以普通清管器的形式完成清管，顺利从管道中出来。如果系统没有备用阀门，
        则将转阀关闭到可能到达的极限状态，并关闭整个系统，防止转阀不停调节而消耗所有电量。转阀卡死后正反向角度主要就是调节转阀在关闭和打开的循环过程中所要调节的角度，而卡死调整间隔即为等待高速气流将异物吹走的时间，这些值的确定主要根据现场清管器工况而定、
        </div>
      </Card>
      {/* <p style={{ textAlign: 'center', marginTop: 24 }}>
        Want to add more pages? Please refer to{' '}
        <a href="https://pro.ant.design/docs/block-cn" target="_blank" rel="noopener noreferrer">
          use block
        </a>
        。
      </p> */}
    </PageContainer>
  );
};

export default Admin;
